<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of servicioAmbulancia_Model
 *
 * @author sammy
 */
class ServicioAmbulancia_model extends CI_Model 
{
    public function insertar($idAmbulancia, $idPaciente, $nombrePaciente
                , $direccionDestino, $indicacionSTR, $tipoIndicacionAmbulanciaSTR, $otrasIndicaciones)
    {
        /*$this->db->query('CALL cambiarEstadoAmbulancia_a_EnEmergencia($idAmbulancia, $idPaciente
            , $nombrePaciente, $direccionDestino, $idConductor, $idParamedico
            , $fechaHoraSalida, $indicacionSTR, $tipoIndicacionAmbulanciaSTR, $otrasIndicaciones)');*/
        $consulta = "SELECT contadorPK  FROM ContadorPK WHERE nombreTabla = 'servicioAmbulancia'";
        $r = $this->db->query($consulta)->result_array();
        if (count($r) != 0)
        {
            $servicioAmbulancia = (int)($r[0]["contadorPK"]) + 1;
            $transaccion = "INSERT INTO servicioambulancia
		(
			servicioAmbulancia
			, id_Ambulancia
			, direccion
			, otrasIndicaciones
                        , estadoServicioAmbulancia
                        , fechaRegistro
                        , id_Paciente
			, nombrePaciente

                        
		)
		VALUES
		(	$servicioAmbulancia
			, $idAmbulancia
			, '$direccionDestino'
			, '$otrasIndicaciones'
                        , 1 
                        , NOW()";
            /*Estado  1 = En solicitud de emergencia*/
            if ($idPaciente  == "") $transaccion .= ", NULL, '$nombrePaciente')";
            else $transaccion .= ", $idPaciente" . ", '$nombrePaciente')";
            
            $this->db->query($transaccion);
            $transaccion =
                "INSERT INTO indicacionesServicioAmbulancia
		(
			tipoIndicacionServicioAmbulancia
			, servicioAmbulancia
			, respuesta
		)
                SELECT tipoIndicacionServicioAmbulancia, $servicioAmbulancia, 0
                FROM tipoIndicacionServicioAmbulancia
                WHERE '$tipoIndicacionAmbulanciaSTR' LIKE CONCAT('%,',tipoIndicacionServicioAmbulancia, ',%')";
            /*Se guarda primero todo las indicaciones que fueron presentadas al usuario en falso = 0,*/
            $this->db->query($transaccion);
            
            $transaccion = 
                "UPDATE indicacionesServicioAmbulancia
		SET respuesta = 1
		WHERE '$indicacionSTR' LIKE CONCAT('%,',tipoIndicacionServicioAmbulancia, ',%')
                AND servicioAmbulancia = $servicioAmbulancia";
            $this->db->query($transaccion);
            /*Luego se actualiza a verdadero = 1  aquellas que el usuario marco.*/
            $transaccion = 
                "UPDATE ContadorPK
		SET contadorPK = contadorPK +1
		WHERE nombreTabla = 'servicioAmbulancia'";
            $this->db->query($transaccion);
            
            $transaccion = "UPDATE ambulancia SET estadoAmbulancia = 4 WHERE ambulancia = $idAmbulancia";
            $this->db->query($transaccion);
            
        }
        
        
    }
    
    
    
    public function actualizar_a_EnEmergencia($idServicioAmbulancia, $idConductor, $idParamedico, $fechaHoraSalida, $idPaciente, $nombrePaciente)
    {
        $transaccion = "UPDATE servicioambulancia
                        SET 
                            personalC = $idConductor
                            ,personalD = $idParamedico
                            , fechaSalida = '$fechaHoraSalida'
                            , estadoServicioAmbulancia = 2 ";
        if ($idPaciente != "") $transaccion .= ", id_paciente = $idPaciente, nombrePaciente='$nombrePaciente' ";
        $transaccion .= "WHERE servicioAmbulancia = $idServicioAmbulancia";
        $this->db->query($transaccion);
    }
    
    
    public function buscarPor_Ambulancia_y_EnSolicitudDeServicio($idAmbulancia)
    {
        $consulta = "SELECT 
                        S.servicioAmbulancia idServicioAmbulancia 
                        , S.id_Ambulancia idAmbulancia
                        , S.direccion direccion
                        , S.otrasIndicaciones otrasIndicaciones
                        , S.nombrePaciente nombrePaciente
                        , S.id_Paciente idPaciente
                        , S.fechaRegistro fechaRegistro
                    FROM servicioambulancia S 
                    WHERE S.id_Ambulancia = $idAmbulancia 
                    AND S.estadoServicioAmbulancia = 1";
       
        $servicioAmbulanciaARL = $this->db->query($consulta)->result_array();
        if ($servicioAmbulanciaARL[0]["idPaciente"] != "")
        {
            $idPaciente = $servicioAmbulanciaARL[0]["idPaciente"];
            $consulta = "SELECT PC.codigo codigoPaciente FROM paciente PC WHERE PC.persona = $idPaciente";
            $codigoPacienteARL = $this->db->query($consulta)->result_array();
            $servicioAmbulanciaARL[0]["codigoPaciente"] = $codigoPacienteARL[0]["codigoPaciente"];
        }
        else $servicioAmbulanciaARL[0]["codigoPaciente"] = "";
        return $servicioAmbulanciaARL;
        
    }
    
    
    
    public function buscarPor_Ambulancia_y_EnEmergencia($idAmbulancia)
    {
        $consulta = "SELECT\n 
                        S.servicioAmbulancia idServicioAmbulancia\n 
                        , S.personalC idConductor\n
                        , CONCAT(P1.Nombres, ' ', P1.apellido_Paterno, ' ', P1.apellido_Materno) nombreConductor\n
                        , S.fechaRetorno fechaRetorno\n
                        , S.personalD idParamedico\n
                        , CONCAT(P2.Nombres, ' ', P2.apellido_Paterno, ' ', P2.apellido_Materno) nombreParamedico\n
                        , S.fechaSalida fechaSalida\n
                        , S.anotacionesCierre anotacionesCierre\n
                        , S.id_Ambulancia idAmbulancia\n
                        , S.direccion direccion\n
                        , S.otrasIndicaciones otrasIndicaciones\n
                        , S.id_Paciente idPaciente\n
                        , S.nombrePaciente nombrePaciente\n
                        , S.fechaRegistro fechaRegistro
                    FROM servicioambulancia S,  persona P1, persona P2\n
                    WHERE S.personalC = P1.persona AND S.personalD = P2.persona AND S.id_Ambulancia = $idAmbulancia\n
                    AND S.estadoServicioAmbulancia = 2";
        $servicioAmbulanciaARL = $this->db->query($consulta)->result_array();
        
        if ($servicioAmbulanciaARL[0]["idPaciente"] != "")
        {
            $idPaciente = $servicioAmbulanciaARL[0]["idPaciente"];
            $consulta = "SELECT PC.codigo codigoPaciente FROM paciente PC WHERE PC.persona = $idPaciente";
            $codigoPacienteARL = $this->db->query($consulta)->result_array();
            $servicioAmbulanciaARL[0]["codigoPaciente"] = $codigoPacienteARL[0]["codigoPaciente"];
        }
        else $servicioAmbulanciaARL[0]["codigoPaciente"] = "";
        return $servicioAmbulanciaARL;                              
    }
    

    
    
    public function concluirServicio($idServicioAmbulancia, $fechaHoraRetorno, $anotacionesCierre, $idPaciente, $nombrePaciente )
    {
        $transaccion = "UPDATE servicioambulancia\n
                        SET\n
                            fechaRetorno = '$fechaHoraRetorno'\n
                            , anotacionesCierre = '$anotacionesCierre'\n
                            , estadoServicioAmbulancia = 3\n";
        if ($idPaciente != "") $transaccion .= ", id_paciente = $idPaciente, nombrePaciente='$nombrePaciente' ";
        $transaccion .= "WHERE servicioAmbulancia = $idServicioAmbulancia";
        $this->db->query($transaccion);
        
    }
            
    
    
}

?>
